<!DOCTYPE html>
<!-- 网页使用的语言 -->
<html lang="zh-CN">

<head>
    <!-- 指定字符集 -->
    <meta charset="utf-8">
    <!-- 使用Edge最新的浏览器的渲染方式 -->
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <!-- viewport视口：网页可以根据设置的宽度自动进行适配，在浏览器的内部虚拟一个容器，容器的宽度与设备的宽度相同。
    width: 默认宽度与设备的宽度相同
    initial-scale: 初始的缩放比，为1:1 -->
    <!--    <meta name="viewport" content="width=device-width, initial-scale=1">-->
    <!-- 上述3个meta标签*必须*放在最前面，任何其他内容都*必须*跟随其后！ -->
    <meta name="viewport"
        content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />


    <title>在线音乐服务器</title>

    <link rel="shortcut icon" href="#" />

    <!-- 1. 导入CSS的全局样式 -->
    <link href="css/bootstrap.min.css" rel="stylesheet">
    <!-- 2. jQuery导入，建议使用1.9以上的版本 -->
    <script src="js/jquery-3.1.1.min.js"></script>
    <!-- 3. 导入bootstrap的js文件 -->
    <!-- <script src="js/bootstrap.min.js"></script>-->
    <style type="text/css">
        td,
        th {
            text-align: center;
        }
    </style>

    <script type="text/javascript">
        //<!-- 核心代码实现 -->
        //Dom加载完毕之后执行
        $(function () {
            load()
        })

        //GET
        //http://localhost:8080/music/findmusic
        //可以传参数 也可以传参数
        function load (musicName) {
            $.ajax({
                url: "/music/findmusic",
                data: { "name": musicName },
                type: "GET",
                //期望返回的是一个JSON格式的数据
                dataType: "json",
                success: function (obj) {
                    console.log(obj)

                    //响应的歌曲集合包装在data当中
                    var data = obj.data
                    //是一个数组集合循环遍历这个集合
                    //通过data[i].id 拿到数据 
                    //用字符串拼接一个HTML出来

                    var s = ""

                    for (var i = 0; i < data.length; i++) {

                        //定义一个播放路径
                        var musicUrl = data[i].url + ".mp3"

                        s += '<tr>'
                        s += '<th> <input id = "' + data[i].id + '" type="checkbox"> </th>'
                        s += '<td>' + data[i].title + '</td>'
                        s += '<td>' + data[i].singer + '</td>'

                        //playerSong(\'' + musicUrl + '\')这表示的是一个字符串 所以加上单引号  而下面的本身就是一个ID 整数
                        s += '<td> <button class="btn btn-primary" onClick="playerSong(\'' + musicUrl + '\')">播放歌曲</button>' + '</td>'
                        s += '<td> <button class="btn btn-primary" onClick="deleteInfo(' + data[i].id + ')">删除</button>' +
                            '<button class="btn btn-primary" onClick="loveInfo(' + data[i].id + ')">喜欢</button>' + '</td>'
                        //结束标签
                        s += '</tr>'
                    }
                    //将拼接好的数据 放到html当中
                    $("#info").html(s)

                }
            })
        }

        //播放音乐 回调函数
        function playerSong (obj) {
            //获取到路径 从等号开始截取 obj = music/get?path=陈奕迅 - 红玫瑰
            var name = obj.substring(obj.lastIndexOf("=") + 1)
            SewisePlayer.toPlay(obj, name, 0, false)
            //false表示不自动播放
        }

        function loveInfo(obj) {
            console.log(obj);
            $.ajax({
                url:"/loveMusic/likeMusic",
                type: "post",
//发送给后端的数据
                data: {"id": obj},
                dataType: "json",
                success: function (data) {
                    if(data.data===true){
                        alert("加入喜欢的列表成功");
                        window.location.href="list.html";
                    }else{
                        alert("加入喜欢的列表失败或者已经存在该音乐");
                    }
                }
            });

        //删除音乐函数回调
        function deleteInfo (obj) {
            console.log(obj)

            $.ajax({
                url: "/music/delete",
                type: "delete",
                data: { "id": obj },
                dataType: "json",

                success: function (val) {
                    console.log(val)

                    if (val.data == true) {
                        alert("删除成功,重新加载当前页面")
                        window.location.href = "list.html"
                    } else {
                        alert("删除失败")
                    }
                }
            })
        }

        //查询歌曲
        $(function () {
            $("#submit1").click(function () {
                var name = $("#exampleInputName2").val()
                load(name)
            })
        })

        //删除 得到ID删除
        $.when(load).done(function () {
            //选取所有类型为CheckBox的元素
            $("#delete").click(function () {
                var i = 0
                var id = new Array()
                //遍历checkbox
                $("input:checkbox").each(function () {
                    //如果被选中,this代表发生事件的dom元素，<input>
                    if ($(this).is(':checked')) {
                        //获取id的值，存储到id数组当中
                        id[i] = $(this).attr("id")
                        i++
                    }
                })
                console.log(id)
                //发送ajax请求
                $.ajax({
                    url: "/music/deleteSel",
                    //将id数组，发送给deleteSelectedServlet
                    data: { "id": id },
                    type: "POST",
                    dataType: "json",
                    success: function (data) {
                        if (data.data === true) {
                            alert("删除成功")
                            window.location.href = "list.html"
                        } else {
                            alert("删除失败")
                        }
                    }
                })
            })
        });
        }


    </script>
</head>

<body id="body">
    <div class="container">
        <h3 style="text-align: center">在线音乐服务器实现</h3>
        <div style="float: left;">
            <form class="form-inline">
                <div class="form-group">
                    <label for="exampleInputName2">歌曲名</label>
                    <input name="name" type="text" class="form-control" id="exampleInputName2">
                </div>
                <button id="submit1" type="button" class="btn btn-primary">查询</button>
            </form>
        </div>
        <div style="float: right;margin-bottom: 15px">
            <a class="btn btn-primary" href="loveMusic.html">喜欢列表</a>
            <a class="btn btn-primary" href="upload.html">添加歌曲</a>
            <a id="delete" class="btn btn-primary">删除选中</a>
        </div>
        <table border="1" class="table table-bordered table-hover">
            <tr class="success">
                <th>选择</th>
                <th>歌名</th>
                <th>歌手</th>
                <th>歌曲</th>
                <th>操作</th>
            </tr>

            <tbody id="info" valign="middle">

            </tbody>
        </table>
    </div>
</body>

<div style="width: 180px; height: 140px; position:absolute; bottom:10px; right:10px">
    <script type="text/javascript" src="player/sewise.player.min.js"></script>
    <script type="text/javascript">
        SewisePlayer.setup({
            server: "vod",
            type: "mp3",
            //这里是默认的一个网址
            videourl: "http://jackzhang1204.github.io/materials/where_did_time_go.mp3",
            skin: "vodWhite",
            //这里需要设置false
            autostart: "false",
        });
    </script>
</div>

</html>